package day07;

import java.util.Scanner;

/**
 * @description: 猜数小游戏
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 练习使用搜索引擎学习和查找的能力
 * 获取随机数的方法(两种常见的):
 *      1.new Random() 创建随机数对象，然后调用nextDouble()方法，得到随机数的范围是[0.0,1.0)
 *      2.Math.random() 该方法是一个无参的方法，它获取随机数的范围是[0.0,1.0)
 * 两种方法选择其一皆可。
 *
 */
public class GuessNumDemo {
    public static void main(String[] args) {
        // Math.random()方法获取一个0~1的小数，左闭右开[0,1)
        // Math.random() * 100 强转 int 舍弃小数位，表示 [0,100)的整数
        // (int) (Math.random() * 100) + 1 表示 [1,100]之间的整数
        int guessNum = (int) (Math.random() * 100) + 1;
        // 因为要猜很多次，所以用死循环，为了能够在猜对时结束循环，所以使用一个循环控制变量flag
        boolean flag = true;
        // 开始键盘录入，进行猜数
        Scanner sc = new Scanner(System.in);
        while (flag) {
            System.out.print("请输入一个整数，范围在1-100之间：");
            int result = sc.nextInt();
            if (result < guessNum) {
                // 猜小了
                System.out.println("小了");
            } else if (result > guessNum) {
                // 猜大了
                System.out.println("大了");
            } else {
                // 猜对了
                System.out.println("猜对了");
                // 退出循环
                flag = false;
            }
        }
    }
}
